/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pessoas.presenter;

import java.util.ArrayList;
import pessoas.model.ContatoMemento;

/**
 *
 * @author Bush
 */
public class ContatoZelador {
    private ArrayList<ContatoMemento> contatosMemento;
    private static ContatoZelador instancia;
    
    public ContatoZelador() {
        this.contatosMemento = new ArrayList<ContatoMemento>();        
    }
    
    public static ContatoZelador getInstancia(){
        if(instancia == null){
            instancia = new ContatoZelador();
        }
        return instancia;
    }
    
    public void adcionarMemento(ContatoMemento contatoMemento){
        contatosMemento.add(contatoMemento);
    }
    public ContatoMemento getUltimoEstadoSalvo() throws Exception{
        return desempilhaContatosMemento();
    }
    private ContatoMemento desempilhaContatosMemento() throws Exception{
        if(contatosMemento.size()==0){
            throw new Exception("Não há estados salvos!!");
        }
        int pos  = contatosMemento.size()-1;
        ContatoMemento ultimo = contatosMemento.get(pos);
        contatosMemento.remove(pos);
        return ultimo;
    }
    
    
}
